#ifndef __OBJECT_LOOPER_H__
#define __OBJECT_LOOPER_H__

#include "soc_comm.h"

#define OBJECT_LOOPER_HANDLE_MAX  20

typedef void(*ObjectLooperFunc)(void *object);

typedef struct ObjectLooperHandler_e
{
    uint16_t LoopCount;
    ObjectLooperFunc Func;
    void *Object;
    
    //private
    uint16_t CurrentCount;
}ObjectLooperHandler_t;

void RegisterObjectLooper(void *object, uint16_t countDiv, ObjectLooperFunc func);
void ObjectLooperExec();

#endif
